﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using Espam.Idiomas.Decimo.Tesis.Datos;

namespace Espam.Idiomas.Decimo.Tesis.Negocio
{
    public class NumeroCertificaciones
    {
        public int idNumeroCertificaciones { get; set; }
        public string tipo { get; set; }
        public DateTime fecha { get; set; }
        public int numero { get; set; }
        public int idUsuario { get; set; }

        public int getUltimoNumeroCertificacion()
        {
           
                BaseDatos oBase = new BaseDatos();
                SqlDataReader reader;
                List<Ciclos> lista = new List<Ciclos>();
            int numero = 0;
                try
                {
                    string consulta = string.Format("sp_ConsultarUltimoNumeroDistribucion");
                    SqlCommand comando = new SqlCommand(consulta, oBase.conexion);
                    comando.CommandType = CommandType.StoredProcedure;
                    oBase.Conectar();
                    reader = comando.ExecuteReader();
                    while (reader.Read())
                    {
                        numero = reader.GetInt32(0);
                    }

                }
                catch (Exception)
                {
                    throw;
                }
                finally
                {
                    oBase.CerrarConexion();
                }
                return numero;
           
           
        }
        /// <summary>
        /// para obtener unicamente el idAlumno que necesitaba para la consulta del historial
        /// </summary>
        /// <param name="_cedula"></param>
        /// <returns></returns>
        public Usuarios getAlumnoCedula(string _cedula)
        {

            BaseDatos oBase = new BaseDatos();
            SqlDataReader reader;
            //List<Usuarios> lista = new List<Usuarios>();
            Usuarios _obj = new Usuarios();
            int numero = 0;
            try
            {
                string consulta = string.Format("sp_ConsultarAlumnoCedula");
                SqlCommand comando = new SqlCommand(consulta, oBase.conexion);
                comando.CommandType = CommandType.StoredProcedure;
                comando.Parameters.AddWithValue("@cedula", _cedula);
                oBase.Conectar();
                reader = comando.ExecuteReader();
                while (reader.Read())
                {
                   _obj.idAlumno = reader.GetInt32(0);
                   _obj.idAdmin = reader.GetInt32(1);
                   _obj.nombres = reader.GetString(2);

                }

            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                oBase.CerrarConexion();
            }
            return _obj;


        }
        public string ingresoNumeroCertificacion(int _numero, string _tipo, int _usuario, DateTime _fecha,string _codigo,string _cedula)
        {

            BaseDatos oBase = new BaseDatos();
            SqlDataReader reader;
            string mensaje = "";
            try
            {
                string consulta = string.Format("sp_insertNumeroCertificacion");
                SqlCommand comando = new SqlCommand(consulta, oBase.conexion);
                comando.CommandType = CommandType.StoredProcedure;
                comando.Parameters.AddWithValue("@numero", _numero);
                comando.Parameters.AddWithValue("@fecha", _fecha);
                comando.Parameters.AddWithValue("@idUsuario", _usuario);
                comando.Parameters.AddWithValue("@tipo", _tipo);
                comando.Parameters.AddWithValue("@codigo", _codigo);
                comando.Parameters.AddWithValue("@cedula", _cedula);
                oBase.Conectar();
                reader = comando.ExecuteReader();
                while (reader.Read())
                {
                    mensaje = reader.GetString(0);
                }
                return "OK";
            }
            catch (Exception ex)
            {
                return mensaje = ex.Message;
            }
            finally
            {
                oBase.CerrarConexion();
            }
            
        }
    }
}
